Soliciting and creating collaborative content items

ABSTRACT

A method for soliciting and creating collaborative content items is disclosed. The method includes receiving, by a user device of a first user, a request to contribute a content item for a personalized message to a second user, the personalized message for an event unique to the second user, wherein the first user is selected to receive the request to contribute the content item based on an affinity score between the first user and the second user, presenting the request to contribute the content item, receiving input from the first user identifying the content item to contribute for the personalized message to the second user, and causing the content item to be added to a collaborative content product generated for the second user, the collaborative content product comprising other content items of other users of the social network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/279,533, filed May 16, 2014, titled “Soliciting and CreatingCollaborative Content Items,” the entire content of which isincorporated by reference herein.

TECHNICAL FIELD

This disclosure relates to the field of content sharing platforms and,in particular, to soliciting and creating collaborative content items.

BACKGROUND

On the Internet, social networks allow users to connect to and shareinformation with each other. Many social networks include a contentsharing aspect that allows users to upload, view, and share content,such as video content, image content, audio content, text content, andso on (which may be collectively referred to as “media items” or“content items”). Such media items may include audio clips, movie clips,TV clips, and music videos, as well as amateur content such as videoblogging, short original videos, pictures, photos, other multimediacontent, etc. Users may use computing devices (such as smart phones,cellular phones, laptop computers, desktop computers, netbooks, tabletcomputers) to use, play, and/or consume media items (e.g., watch digitalvideos, and/or listen to digital music).

Many social networks today alert a user's contacts when any importantevent, such as a birthday, is approaching for the user. In some cases,these alerts prompt the contact to message the user regarding theimportant event (e.g., wishing them a happy birthday). However, oftentimes the prompted messages from a user's contacts end up quiterepetitive across the contacts, making them hollow and unmemorable. Thisis true for a variety of important events including not only birthdays,but also many other types of life events: congratulatory messages (newcity, new job, promotion, engagement, getting married, new child),reflections (anniversary of meeting a friend, end of school year, end ofjob), and calamities (get well soon, condolences), among others.

SUMMARY

The following is a simplified summary of the disclosure in order toprovide a basic understanding of some aspects of the disclosure. Thissummary is not an extensive overview of the disclosure. It is intendedto neither identify key or critical elements of the disclosure, nordelineate any scope of the particular implementations of the disclosureor any scope of the claims. Its sole purpose is to present some conceptsof the disclosure in a simplified form as a prelude to the more detaileddescription that is presented later.

In one implementation, a method for soliciting and creatingcollaborative content items is disclosed. The method includesidentifying contacts of a target user, the contacts each having anaffinity score with the target user that exceeds an affinity scorethreshold value. The method further includes soliciting, from each ofthe identified contacts, a content item curated by the identifiedcontact to convey a personalized message to the target usercorresponding to an event unique to the target user. The method alsoincludes receiving the content items from at least a subset of theidentified contacts, and providing a collaborative content productcomprising the received content items to the target user.

In one implementation, the affinity score between each of the identifiedcontacts and the target user is based on at least one of messagingfrequency, co-occurrence in photographs, co-occurrence in videos, sharedcheck-ins, shared contacts, shared subscriptions, and shared viewingstatistics. In another implementation, the method further includesgenerating a container to maintain the received content items prior tothe combining. In addition, the collaborative content product mayinclude a playlist. Furthermore, the collaborative content product mayinclude a single video.

In another implementation, the method further includes stitching thereceived content items together to generate the single video. Thereceived content items may be ordered in the single video according tothe affinity scores of the identified contacts providing the contentitems. The content items may be ordered in decreasing value of theaffinity score of the corresponding contributing contact of the contentitem with the target user. Furthermore, the method may further includeproviding a one-time email address for the identified contacts to sendtheir curated content item for the target user. In one implementation,the method may further include setting a privacy setting of thecollaborative message to a default of the target user and thecontributing contacts.

In a further implementation, the method includes receiving, from adesignated contact of the contacts, a selection of a set of the contactsto solicit the contents items conveying the personalized messages forthe target user. In addition, the method may include receiving anassignment of the designated contact as an owner of the collaborativecontent product, wherein the owner is provided permission to add newcontacts to the collaborative content product and to update an order ofthe content items comprising the collaborative content product.

In additional implementations, computing devices for performing theoperations of the above described implementations are also disclosed.Additionally, in implementations of the disclosure, a computer readablestorage media stores methods for performing the operations of the abovedescribed implementations.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 illustrates an example system architecture, in accordance withone implementation of the disclosure.

FIG. 2 is a block diagram illustrating a collaborative content componentin accordance with one implementation of the disclosure.

FIG. 3 is a flow diagram illustrating a method for soliciting andcreating a collaborative content product, according to someimplementations of the disclosure.

FIG. 4 is a flow diagram illustrating a method providing a collaborativecontent product to a target user, according to some implementations ofthe disclosure.

FIG. 5 is a screenshot illustrating an example home page GUI of acontact of a target user on a social network, according to animplementation of the disclosure.

FIG. 6 is a screenshot illustrating a solicitation to a contact of atarget user on a social network, according to an implementation of thedisclosure.

FIG. 7 is a screenshot illustrating a home page GUI of a target userthat displays a collaborative content product generated for the targetuser, to an implementation of the disclosure.

FIG. 8 is a screenshot illustrating another home page GUI of a targetuser displaying a pop-up window notifying the target user of acollaborative content product generated for the target user, accordingto an implementation of the disclosure.

FIG. 9 is a block diagram illustrating an exemplary computer system,according to some implementations.

DETAILED DESCRIPTION

Implementations are described for soliciting and creating collaborativecontent items. In one implementation, a social network may include acollaborative content component that enables the solicitation ofpersonalized messages for a target user of the social network fromcontacts of the user on the social network. The collaborative contentcomponent may also generate a collaborative content product for thetarget user based on the solicited personalized messages from the user'scontacts. For example, the collaborative content component may solicitcontent for and assemble a video to make a more emotionally-compellinggreeting or message around certain events corresponding to the targetuser.

The events of a user that implementations of the disclosure may solicitand create collaborative messages for include birthdays and/or othertypes of life events, such as congratulatory messages (new city, newjob, promotion, engagement, getting married, new child), reflections(anniversary of meeting a friend, end of school year, end of job), andcalamities (get well soon, condolences), among others. For example, thecollaborative content component may encourage, in advance of a user'sbirthday, contacts of the user on the social network to contributemessages (in the form of video or otherwise) for the user's birthday.The collaborative content component may then aggregate the contributionsof the contacts into a playlist or single video, for example, which isthen released to the user on the day of his or her birthday.

Previous implementations of content sharing platforms and/or socialnetworks do not provide a solution for soliciting and creatingcollaborative content items pertaining to a special event of a user.These content sharing platforms and social networks may encourage usersto wish their friends happy birthdays, but the resulting messages aretypically homogeneous and unoriginal (e.g., many “Happy Birthday, Jane”messages of Jane's birthday). The previous implementations did notcoordinate a group of users to create a collaborative content item, suchas a single video or a playlist, for a special event of a user.Implementations of the disclosure improve the user experience on acontent sharing platform and/or social network by providing a compellingmedium to crowd source personalized messages for a user to create aunique, experience. Implementations of the disclosure will create a morecompelling feeling of being loved and valued by your friends.

FIG. 1 illustrates an example system architecture 100, in accordancewith one implementation of the disclosure, for merging content channelsof a content sharing platform. The system architecture 100 includesclient devices 110A through 110Z, a network 105, a data store 106, acontent sharing platform 120, and a server 130. In one implementation,network 105 may include a public network (e.g., the Internet), a privatenetwork (e.g., a local area network (LAN) or wide area network (WAN)), awired network (e.g., Ethernet network), a wireless network (e.g., an802.11 network or a Wi-Fi network), a cellular network (e.g., a LongTerm Evolution (LTE) network), routers, hubs, switches, servercomputers, and/or a combination thereof. In one implementation, the datastore 106 may be a memory (e.g., random access memory), a cache, a drive(e.g., a hard drive), a flash drive, a database system, or another typeof component or device capable of storing data. The data store 106 mayalso include multiple storage components (e.g., multiple drives ormultiple databases) that may also span multiple computing devices (e.g.,multiple server computers).

The client devices 110A through 110Z may each include computing devicessuch as personal computers (PCs), laptops, mobile phones, smart phones,tablet computers, netbook computers etc. In some implementations, clientdevice 110A through 110Z may also be referred to as “user devices.” Eachclient device includes a media viewer 111. In one implementation, themedia viewers 111 may be applications that allow users to view content,such as images, videos, web pages, documents, etc. For example, themedia viewer 111 may be a web browser that can access, retrieve,present, and/or navigate content (e.g., web pages such as Hyper TextMarkup Language (HTML) pages, digital media items, etc.) served by a webserver. The media viewer 111 may render, display, and/or present thecontent (e.g., a web page, a media viewer) to a user. The media viewer111 may also display an embedded media player (e.g., a Flash® player oran HTML5 player) that is embedded in a web page (e.g., a web page thatmay provide information about a product sold by an online merchant). Inanother example, the media viewer 111 may be a standalone applicationthat allows users to view digital media items (e.g., digital videos,digital images, electronic books, etc.).

The media viewers 111 may be provided to the client devices 110A through110Z by the server 130 and/or content sharing platform 120. For example,the media viewers 111 may be embedded media players that are embedded inweb pages provided by the content sharing platform 120. In anotherexample, the media viewers 111 may be applications that are downloadedfrom the server 130.

In general, functions described in one implementation as being performedby the content sharing platform 120 can also be performed on the clientdevices 110A through 110Z in other implementations if appropriate. Inaddition, the functionality attributed to a particular component can beperformed by different or multiple components operating together. Thecontent sharing platform 120 can also be accessed as a service providedto other systems or devices through appropriate application programminginterfaces, and thus is not limited to use in websites.

In one implementation, the content sharing platform 120 may be one ormore computing devices (such as a rackmount server, a router computer, aserver computer, a personal computer, a mainframe computer, a laptopcomputer, a tablet computer, a desktop computer, etc.), data stores(e.g., hard disks, memories, databases), networks, software components,and/or hardware components that may be used to provide a user withaccess to media items and/or provide the media items to the user. Forexample, the content sharing platform 120 may allow a user to consume,upload, search for, approve of (“like”), dislike, and/or comment onmedia items. The content sharing platform 120 may also include a website(e.g., a webpage) that may be used to provide a user with access to themedia items.

In implementations of the disclosure, a “user” may be represented as asingle individual. However, other implementations of the disclosureencompass a “user” being an entity controlled by a set of users and/oran automated source. For example, a set of individual users federated asa community in a social network may be considered a “user”. In anotherexample, an automated consumer may be an automated ingestion pipeline,such as a topic channel, of the content sharing platform 120.

The content sharing platform 120 may include multiple channels (e.g.,channels A through Z). A channel can be data content available from acommon source or data content having a common topic, theme, orsubstance. The data content can be digital content chosen by a user,digital content made available by a user, digital content uploaded by auser, digital content chosen by a content provider, digital contentchosen by a broadcaster, etc. For example, a channel X can includevideos Y and Z. A channel can be associated with an owner, who is a userthat can perform actions on the channel. Different activities can beassociated with the channel based on the owner's actions, such as theowner making digital content available on the channel, the ownerselecting (e.g., liking) digital content associated with anotherchannel, the owner commenting on digital content associated with anotherchannel, etc. The activities associated with the channel can becollected into an activity feed for the channel. Users, other than theowner of the channel, can subscribe to one or more channels in whichthey are interested. The concept of “subscribing” may also be referredto as “liking”, “following”, “friending”, and so on.

Once a user subscribes to a channel, the user can be presented withinformation from the channel's activity feed. If a user subscribes tomultiple channels, the activity feed for each channel to which the useris subscribed can be combined into a syndicated activity feed.Information from the syndicated activity feed can be presented to theuser. Channels may have their own feeds. For example, when navigating toa home page of a channel on the content sharing platform, feed itemsproduced by that channel may be shown on the channel home page. Usersmay have a syndicated feed, which is a feed comprised of at least asubset of the content items from all of the channels to which the useris subscribed. Syndicated feeds may also include content items fromchannels that the user is not subscribed. For example, the contentsharing platform 120 or other social networks may insert recommendedcontent items into the user's syndicated feed, or may insert contentitems associated with a related connection of the user in the syndicatedfeed.

Each channel may include one or more media items 121. Examples of amedia item 121 can include, and are not limited to, digital video,digital movies, digital photos, digital music, website content, socialmedia updates, electronic books (ebooks), electronic magazines, digitalnewspapers, digital audio books, electronic journals, web blogs, realsimple syndication (RSS) feeds, electronic comic books, softwareapplications, etc. In some implementations, media item 121 is alsoreferred to as a media item.

A media item 121 may be consumed via the Internet and/or via a mobiledevice application. For brevity and simplicity, an online video (alsohereinafter referred to as a video) is used as an example of a mediaitem 121 throughout this document. As used herein, “media,” media item,”“online media item,” “digital media,” “digital media item,” “content,”and “content item” can include an electronic file that can be executedor loaded using software, firmware or hardware configured to present thedigital media item to an entity. In one implementation, the contentsharing platform 120 may store the media items 121 using the data store106.

In one implementation, the server 130 may be one or more computingdevices (e.g., a rackmount server, a server computer, etc.). In oneimplementation, the server 130 may be included in the content sharingplatform 120. The server 130 may include a collaborative contentcomponent 140. The collaborative content component 140 enables thesolicitation of personalized messages for a user from contacts of theuser (e.g., using third party social network server 150), as well asgeneration of collaborative content for the user based on the solicitedpersonalized messages. For example, the collaborative content component140 may solicit content for and assemble a video to make a moreemotionally-compelling greeting or message around certain eventscorresponding to a user of a social network, such as content sharingplatform 120.

In some implementations, the collaborative content component 140 mayinteract with multiple social networks and content sharing platforms.For example, the collaborative content component 140 may be a part ofcontent sharing platform 120 and provide services for users of a thirdparty social network, such as third party social network server 150, orvice versa. In other implementations, collaborative content component140 may be part of an external system and provide services to contentsharing platform 120 and third party social network server 150individually, or in combination.

The events of a user that implementations of the disclosure may solicitand create collaborative messages for may include birthdays and/or manyother types of life events, such as congratulatory messages (new city,new job, promotion, engagement, getting married, new child), reflections(anniversary of meeting a friend, end of school year, end of job), andcalamities (get well soon, condolences), among others. For example, thecollaborative content component 140 may encourage, in advance of auser's birthday, contacts of the user on the social network tocontribute messages (in the form of video or otherwise) for the user'sbirthday. The collaborative content component 140 may then aggregate thecontributions of the contacts into a playlist or single video, forexample, which is then released to the user on the day of his or herbirthday.

In some implementations, collaborative content component 140 of server130 may interact with content sharing platform 120 and/or with otherthird party social network servers 150 to provide implementations of thedisclosure. Further description of the collaborative content component140 and its specific functions is described in more detail below withrespect to FIG. 2.

Although implementations of the disclosure are discussed in terms ofcontent sharing platforms and promoting social network sharing of acontent item on the content sharing platform, implementations may alsobe generally applied to any type of social network providing connectionsbetween users. Implementations of the disclosure are not limited tocontent sharing platforms that provide channel subscriptions to users.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether the contentsharing platform 120 collects user information (e.g., information abouta user's social network, social actions or activities, profession, auser's preferences, or a user's current location), or to control whetherand/or how to receive content from the content server that may be morerelevant to the user. In addition, certain data may be treated in one ormore ways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be treated sothat no personally identifiable information can be determined for theuser, or a user's geographic location may be generalized where locationinformation is obtained (such as to a city, ZIP code, or state level),so that a particular location of a user cannot be determined. Thus, theuser may have control over how information is collected about the userand used by the content sharing platform 120.

FIG. 2 is a block diagram illustrating a collaborative content component140 in accordance with one implementation of the disclosure. Asdiscussed above, the collaborative content component 140 may interactwith a single social network, or may be a utilized among multiple socialnetworks (e.g., provided as a service of a content sharing platform thatis utilized by other third party social networks). In oneimplementation, the collaborative content component 140 includes anaffinity determination module 210, a collaboration messaging module 220,and a collaborative content generation module 230. More or lesscomponents may be included in the collaborative content component 140without loss of generality. For example, two of the modules may becombined into a single module, or one of the modules may be divided intotwo or more modules. In one implementation, one or more of the modulesmay reside on different computing devices (e.g., different servercomputers, on a single client device, or distributed among multipleclient devices, etc.). Furthermore, one or more of the modules mayreside on different content sharing platforms, third party socialnetworks, and/or external servers.

The collaborative content component 140 is communicatively coupled tothe data store 106. For example, the collaborative content component 140may be coupled to the data store 106 via a network (e.g., via network105 as illustrated in FIG. 1). In another example, the collaborativecontent component 140 may be coupled directly to a server where thecollaborative content component 140 resides (e.g., may be directlycoupled to server 130). The data store 106 may be a memory (e.g., randomaccess memory), a cache, a drive (e.g., a hard drive), a flash drive, adatabase system, or another type of component or device capable ofstoring data. The data store 106 may also include multiple storagecomponents (e.g., multiple drives or multiple databases) that may alsospan multiple computing devices (e.g., multiple server computers). Thedata store 106 includes content item data 290, user data 291,collaborative content data 292, and affinity data 293.

As discussed above, the collaborative content component 140 enables thesolicitation of personalized messages for a target user and generationof a collaborative content for the user based on the solicitedpersonalized messages. For example, the collaborative content component140 may provide support for soliciting and assembling a video to make amore emotionally-compelling greeting or message around certain eventscorresponding to a user of a social network, such as content sharingplatform 120.

The collaborative content component 140 may determine that a specialevent is approaching for a target user of the social network. Forexample, the social network may maintain user data 291 in data store 106that identifies a birthday, or other special event, of the target user.For ease of explanation, the following description may refer to targetuser's birthday as the special event to solicit and create acollaborative message from contacts of the target user. However, otherevents of the target user are also (or instead) envisioned as equallyapplicable to implementations of the disclosure.

In one implementation, once the collaborative content component 140identifies a special event corresponding to a target user that is acandidate for a collaborative message, the affinity determination module210 may determine contacts of the target user to reach out to. Theaffinity determination module 210 may identify all contacts of thetarget user on a social network and then calculate an affinity scorebetween the target user and each of his or her identified contacts. Theaffinity scores may be particular to the collaborative message contextand may be based on any of a variety of factors including, but notlimited to, messaging frequency between the users, co-occurrence of theusers in photographs, shared check-ins between the users, sharedcontacts between the users, shared subscriptions between the users,shared interests between the users, and shared viewing statisticsbetween the users.

The affinity determination module 210 may then identify one or more ofthe contacts of a target user that have an affinity score with thetarget user that exceeds a predetermined affinity score threshold. Theaffinity score calculation factors and/or the affinity score thresholdmay be configured and adjusted by an administrator of the social networkand/or by the target user. The affinity score calculation may beconfigured to determine which contacts of the user may be considered“close friends” to the target user, and thus are more likely to providea meaningful message in response to a solicitation for messages for thetarget user's event. Calculated affinity scores, configurationinformation for calculating the affinity scores for collaborativecontent, and/or the affinity score threshold data may be stored asaffinity data 293 in data store 106. In some implementations, affinityscores for each selected user may be stored in user data 291 of datastore 106.

In some implementations, the affinity determination module 210 mayinteract with a specific contact of the user, referred to as the“organizing contact”, to request the organizing contact to manuallyselect one or more other contacts of the user considered to be “good”candidates for the collaborative message for the target user. In otherimplementations, a subset of contacts selected by the user (e.g., acircle of friends, etc.) may be used by the affinity determinationmodule 210 to curate a list of contacts to solicit for the collaborativemessage for the target user.

When a list of contacts of the target user has been selected by theaffinity determination module 210, the collaboration messaging module220 communicates with the selected contacts of the target user tosolicit personalized messages for the target user in relation to theevent. The collaboration messaging module 220 may use any of a varietyof communication mediums to contact the selected contacts. For examples,the selected contacts may be messaged within the social network, overemail, text message, mobile notification, in-product promotions, and soon. The solicitation to the selected contacts by the collaborationmessaging module 220 informs the selected contacts of the target user'sevent and requests that the selected contacts provide a messageregarding that event. In some implementations, the message may be in theform of video, audio, text, picture, document, mixed media, and so on.

The solicitation from the collaborative messaging module 220 may providea special location, such as collaborative content data 292 of data store106, for the selected contacts to send their personalized message forthe target user. For example, the special location may include, but isnot limited to, an upload location accessed by a link provided in thesolicitation message, a playlist created by the collaborative contentcomponent 140 to upload the personalized messages, or an email addressto send the personalized messages. In other implementations, thepersonalized message may be titled or otherwise associated with a uniquehashtag for the collaborative content. The special location may beassociated with a unique identifier (ID) corresponding to thecollaborative content for the target user. As such, the content sharingsystem can distinguish between content uploaded by a selected user forpurposes of the collaborative content versus for the selected user'spersonal account.

The selected contacts of the target user may then provide personalizedmessages for the target user to the special location. The collaborationmessaging module 220 may set a predetermined time period to receiveresponses, or may provide an open-ended response period based on rate ofreceipt of responses. In some implementations, the collaborationmessaging module 220 may track the selected contacts that have providedpersonalized messages and send one or more reminders to the selectedcontacts that have not provided a personalized message. For example, thecollaboration messaging module 220 may send reminders and/or a finalalert when getting close to the date of the special event, such as theday prior to the special event.

In some implementations, the social network may not be aware of aspecial event of the target user until the event occurs (e.g.,engagement, calamities, etc.). In this case, the collaborative messagingmodule 220 may immediately begin soliciting messages from the targetuser's contacts for a predetermined time period subsequent to theoccurrence of the event. In other implementations, the time period toreceive responses to the solicitation may be a discrete amount of time(e.g., 1 week), or may be flexible and determined based on the amountand frequency of responses received from the contacts. For example, thetime period to receive responses may be flexible based on responsevolume. The collaborative messaging module 220 may continually examine acurve of contacts' response period and perform statistical analysis todetermine changes in slope of the curve. If there is large enoughdecline in rate of interest in uploading in terms of response time, thenend time period to receive new videos.

The collaborative content generation module 230 may combine the receivedpersonalized messages from the selected contacts into collaborativecontent product for the target user. The collaborative contentgeneration module 230 may group all of the personalized messages into asingle content item, or may gather the personalized messages into asingle playlist, to name a few examples. The collaborative contentgeneration module 230 may generate the collaborative content on the dayof the target user's special event, when the time period for receipt ofpersonalized messages ends, or immediately upon receipt of thepersonalized messages, to name a few examples.

Different algorithms may be applied by the collaborative contentgeneration module 230 to determine the order of the personalizedmessages in the collaborative content (e.g., file or playlist). Forexample, the selected contacts with the highest affinity scores(calculated by the affinity determination module 210 as describedpreviously) could be put at the start and end of the collaborativecontent. In another example, personalized messages may be ordered tomonotonically increase in terms of affinity score of the selectedcontent through the collaborative content product in order to have themost climactic effect. In another example, the personalized messages arearranged in the collaborative content based on the time the messageswere received, so that the first-received messages are placed first andthe collaborative content product, and so on. The ordering ofpersonalized messages in the collaborative content can be configurableand may be based on experiments and how responses to the collaborativecontent vary.

Once the playlist is generated by the system, the collaborative contentgeneration module 230 provides it to the target user on the occurrenceof the special event, or upon termination of the personalized messagereceipt period if the special event was not known to the collaborativecontent component 140 prior to the event. The collaborative contentgeneration module 230 may set privacy settings of the collaborativecontent to a default setting. The default setting may allow the targetuser and the selected contents people who contributed personalizedmessages to the collaborative content to view the collaborative content.In some implementations, if the collaborative content is a playlist, thecontributing selected contacts may only be able to view their personalcontribution and not content of other contributing selected contacts. Inother implementations, if the collaborative content is a single combinedfile, then the contributing selected contacts may be warned that otherusers may be able to view the personalized message being contributedand/or may ask for an acknowledgement/permission before including theselected contact's contribution to the collaborative content.

The collaborative content generation module 230 may generate a messageto the target user informing the target user of the collaborativecontent generated by contacts of the user for the special event, as wellas providing a link for the target user to access the collaborativecontent. In some implementations, the collaborative content may befeatured prominently on a home page of the target user on the socialnetwork (e.g., replacing site logo of social network, or at the top ofevery page of social network until the target user accesses it, etc.).

The collaborative content component 140 may also encourage the targetuser to share the collaborative content. In this case, the privacysetting may be modified by the target user and/or the contributingselected contacts. For example, the target user may request thecontributing selected contacts to allow their contributed content to beshared with other users.

FIG. 3 is a flow diagram illustrating a method 300 for soliciting andcreating a collaborative content product according to someimplementations of the disclosure. The method 300 may be performed byprocessing logic that comprises hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software (e.g.,instructions run on a processing device to perform hardware simulation),or a combination thereof.

For simplicity of explanation, the methods of this disclosure aredepicted and described as a series of acts. However, acts in accordancewith this disclosure can occur in various orders and/or concurrently,and with other acts not presented and described herein. Furthermore, notall illustrated acts may be required to implement the methods inaccordance with the disclosed subject matter. In addition, those skilledin the art will understand and appreciate that the methods couldalternatively be represented as a series of interrelated states via astate diagram or events. Additionally, it should be appreciated that themethods disclosed in this specification are capable of being stored onan article of manufacture to facilitate transporting and transferringsuch methods to computing devices. The term “article of manufacture,” asused herein, is intended to encompass a computer program accessible fromany computer-readable device or storage media. In one implementation,method 300 may be performed by collaborative content component 140 asshown in FIGS. 1 and 2.

Referring to FIG. 3, method 300 begins at block 310 when an occurrenceof a special event corresponding to a target user of a social network isidentified. The special event may include a birthday, congratulatoryevent (new city, new job, promotion, engagement, getting married, newchild, etc.), reflections (anniversary of meeting a friend, end ofschool year, end of job), or calamities (get well soon, condolences),among others. At block 320, contacts of the target user on the socialnetwork are identified.

Then, at block 330, for each identified contact, a collaborative contentaffinity score with the target user is calculated. The collaborativecontent affinity scores may be based on any of a variety of factorsincluding, but not limited to, messaging frequency between the users,co-occurrence of the users in photographs, shared check-ins between theusers, shared contacts between the users, shared subscriptions betweenthe users, shared interests between the users, and shared viewingstatistics between the users.

At block 340, contacts with calculated affinity scores that exceed (insome cases, equal or exceed) a collaborative contact affinity scorethreshold value are selected. The threshold value may be configurableand set by an administrator of the social network and/or the targetuser. Subsequently, at block 350, messages for the special event of thetarget user are solicited from the selected contacts. In oneimplementation, a variety of different communication mediums may be usedto contact the selected contacts. For example, the selected contacts maybe messaged within the social network, over email, text message, mobilenotification, in-product promotions, and so on. The solicitation mayinform the selected contacts of the target user's special event andrequest that the selected contacts provide a message regarding thatevent.

At block 360, personalized messages for the special event of the targetuser are received from the selected contacts in response to thesolicitations of block 350. In some implementations, the message may bein the form of video, audio, text, picture, document, mixed media, andso on. At block 370, a collaborative content product is generated fromthe received personalized messages. In one implementation, thepersonalized messages from the selected contacts are combined into asingle content item. In another implementation, the personalizedmessages are grouped into a single playlist. Different algorithms may beapplied to determine the order of the personalized messages in thecollaborative content (e.g., file or playlist).

Lastly, at block 380, the generated collaborative content is provided tothe target user for the special event. A message may be generated forthe target user informing the target user of the collaborative contentcontributed by contacts of the user for the special event, as well asproviding a link for the target user to access the collaborativecontent. In some implementations, the collaborative content may befeatured prominently on a home page of the target user on the socialnetwork (e.g., replacing site logo of social network, or at the top ofevery page of social network until the target user accesses it, etc.).

FIG. 4 is a flow diagram illustrating a method 400 for providing acollaborative content product to a target user according to someimplementations of the disclosure. The method 400 may be performed byprocessing logic that comprises hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software (e.g.,instructions run on a processing device to perform hardware simulation),or a combination thereof. In one implementation, method 400 may beperformed by a client device, such as client device 110A-110Z as shownin FIG. 1.

Referring to FIG. 4, method 400 begins at block 410 when a notificationof a collaborative content product is received via a graphical userinterface (GUI) of the client device. For example, client device110A-110Z may be a mobile device providing a GUI (e.g., in anapplication executing on the mobile device) of a social networkproviding implementations of the disclosure. In another example, clientdevice 110A-110Z may be a computing device providing a GUI (e.g., of aweb page in a web browser) providing implementations of the disclosure.In one implementation, the collaborative content product is generatedfor a target user of the client device for an event unique to the targetuser. In a further implementation, the collaborative content productincludes content items that are each curated by selected contacts of thetarget user to convey a personalized message to the target usercorresponding to the event unique to the target user.

The selected contacts may each have an affinity score with the targetuser that exceeds an affinity score threshold value. The affinity scorebetween each of the identified contacts and the target user may be basedon at least one of messaging frequency, co-occurrence in photographs,shared check-ins, shared contacts, shared subscriptions, and sharedviewing statistics.

Subsequently, at block 420, input from the target user is facilitatedvia the GUI. The input may request access to the collaborative contentproduct. Lastly, at block 430, the collaborative content product isprovided, via the GUI, for display to the target user. In oneimplementation, the collaborative content produce is a playlist. Inanother implementation, the collaborative content product is a singlevideo.

FIG. 5 is a screenshot illustrating an example home page GUI 500 of acontact of a target user on a social network. The home page GUI mayinclude a solicitation 510 for the contact to send a personalizedmessage to a target user. For example, the solicitation 510 may be asection of the home page providing a notification of the special event(e.g., a birthday) of the target user. The solicitation 510 may includea link 515 that, when selected by the contact, allows the contact tosend the personalized message as discussed above.

FIG. 6 is a screenshot illustrating a solicitation 600 to a contact of atarget user on a social network. Solicitation 600 may be a pop-up GUI onanother GUI, such as a page or application, of a social network of thecontact. The solicitation 600 also includes a link 620 that, whenselected by the contact, allows the contact to send the personalizedmessage as discussed above. In addition, the solicitation 600 includes a‘cancel’ link 630 allowing the contact to escape from or close thesolicitation 600.

FIG. 7 is a screenshot illustrating a home page GUI 700 of a target userthat displays a collaborative content product generated for the targetuser from personalized contact contributed by contacts of the targetuser. Home page GUI 700 may include a menu column 705 with content andlocations of the social network that are personalized for the targetuser. Home page GUI 700 also includes a playlist tab 710. The playlisttab displays a collaborative content product 720 (e.g., a playlist)generated for the target user. The collaborative content product 720include content items 730 contributed by contacts of the user inresponse to a solicitation to the contacts from the social network. Thecontent items 730 may include personalized messages generated by thecontacts of the target user.

FIG. 8 is a screenshot illustrating another home page GUI 800 of atarget user displaying a pop-up GUI 810 notifying the target user of acollaborative content product generated for the target user. Thenotification in the pop-up GUI 810 informs the target user that thecollaborative content item has been generated for the target user for aspecial event of the target user and includes personalized messagescontributed by contacts of the target user. The notification in thepop-up GUI 810 also may include a link 820 that allows the target userto access the collaborative content product to view.

FIG. 9 illustrates a diagrammatic representation of a machine in theexemplary form of a computer system 900 within which a set ofinstructions, for causing the machine to perform any one or more of themethodologies discussed herein, may be executed. In alternativeimplementations, the machine may be connected (e.g., networked) to othermachines in a LAN, an intranet, an extranet, or the Internet. Themachine may operate in the capacity of a server or a client machine inclient-server network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine may be apersonal computer (PC), a tablet PC, a set-top box (STB), a PersonalDigital Assistant (PDA), a cellular telephone, a web appliance, aserver, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The exemplary computer system 900 includes a processing device(processor) 902, a main memory 904 (e.g., read-only memory (ROM), flashmemory, dynamic random access memory (DRAM) such as synchronous DRAM(SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 906 (e.g., flashmemory, static random access memory (SRAM), etc.), and a data storagedevice 918, which communicate with each other via a bus 908.

Processor 902 represents one or more general-purpose processing devicessuch as a microprocessor, central processing unit, or the like. Moreparticularly, the processor 902 may be a complex instruction setcomputing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. The processor 902 mayalso be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processor 902 is configured to execute instructions 926for performing the operations and steps discussed herein.

The computer system 900 may further include a network interface device922. The computer system 900 also may include a video display unit 910(e.g., a liquid crystal display (LCD), a cathode ray tube (CRT), or atouch screen), an alphanumeric input device 912 (e.g., a keyboard), acursor control device 914 (e.g., a mouse), and a signal generationdevice 920 (e.g., a speaker).

The data storage device 918 may include a computer-readable storagemedium 924 on which is stored one or more sets of instructions 926(e.g., software) embodying any one or more of the methodologies orfunctions described herein. The instructions 926 may also reside,completely or at least partially, within the main memory 904 and/orwithin the processor 902 during execution thereof by the computer system900, the main memory 904 and the processor 902 also constitutingcomputer-readable storage media. The instructions 926 may further betransmitted or received over a network 974 via the network interfacedevice 922.

In one implementation, the instructions 926 include instructions for acollaborative content component 140, which may correspond, respectively,to its identically-named counterpart described with respect to FIGS. 1and 2, and/or a software library containing methods for soliciting andcreating collaborative content items. While the computer-readablestorage medium 924 is shown in an exemplary implementation to be asingle medium, the term “computer-readable storage medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “computer-readablestorage medium” shall also be taken to include any medium that iscapable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any oneor more of the methodologies of the present disclosure. The term“computer-readable storage medium” shall accordingly be taken toinclude, but not be limited to, solid-state memories, optical media, andmagnetic media.

In the foregoing description, numerous details are set forth. It will beapparent, however, to one of ordinary skill in the art having thebenefit of this disclosure, that the present disclosure may be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form, rather than in detail, inorder to avoid obscuring the present disclosure.

Some portions of the detailed description have been presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “segmenting”, “analyzing”, “determining”, “enabling”,“identifying,” “modifying” or the like, refer to the actions andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical (e.g.,electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may include a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

The words “example” or “exemplary” are used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “example” or “exemplary” is not necessarily to be construed aspreferred or advantageous over other aspects or designs. Rather, use ofthe words “example” or “exemplary” is intended to present concepts in aconcrete fashion. As used in this application, the term “or” is intendedto mean an inclusive “or” rather than an exclusive “or”. That is, unlessspecified otherwise, or clear from context, “X includes A or B” isintended to mean any of the natural inclusive permutations. That is, ifX includes A; X includes B; or X includes both A and B, then “X includesA or B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform. Moreover, use of the term “an embodiment” or “one embodiment” or“an implementation” or “one implementation” throughout is not intendedto mean the same embodiment or implementation unless described as such.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment” in various places throughout thisspecification are not necessarily all referring to the same embodiment.In addition, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive or.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A method comprising: receiving, by a processingdevice of a user device of a first user, a request to contribute acontent item for a personalized message to a second user, thepersonalized message for an event unique to the second user, wherein thefirst user is selected to receive the request to contribute the contentitem based on an affinity score between the first user and the seconduser on a social network; presenting, by the processing device via agraphical user interface (GUI) of the user device, the request tocontribute the content item; receiving, by the processing device via theGUI, input from the first user identifying the content item tocontribute for the personalized message to the second user; identifyinga collaborative content product generated for the second user for theevent, the collaborative content product comprising a plurality of othercontent items of other users of the social network and ordered in thecollaborative content product in accordance with corresponding affinityscores between the second user and the other users; determining aposition in the order for the content item amongst the other contentitems in the collaborative content product, the position in the orderdetermined in accordance with corresponding affinity scores between thesecond user and the first user; and causing the content item to be addedto the collaborative content product in accordance with the order. 2.The method of claim 1, wherein the corresponding affinity scores betweenthe second user and the other users are based on at least one ofmessaging frequency, co-occurrence in photographs, co-occurrence invideos, shared check-ins, shared contacts, shared subscriptions, orshared viewing statistics.
 3. The method of claim 1, further comprisingmaintaining a container to maintain content items for the collaborativecontent product prior to the generating the collaborative contentproduct.
 4. The method of claim 1, wherein the collaborative contentproduct comprises a playlist.
 5. The method of claim 1, wherein thecollaborative content product comprises a single video.
 6. The method ofclaim 5, further comprising stitching content items for thecollaborative content product together to generate the single video. 7.The method of claim 5, wherein the content items are ordered indecreasing value of the affinity score of a corresponding contributinguser of the users with the second user.
 8. The method of claim 1,further comprising providing a one-time email address for the first userto send the content item for the second user.
 9. The method of claim 1,further comprising setting a privacy setting of the collaborativemessage to a default of the second user and the other users.
 10. Themethod of claim 1, further comprising receiving, from a designatedcontact of the other users providing the content items, a selection of aset of the other users to solicit the contents items conveying thepersonalized messages for the second user.
 11. The method of claim 10,wherein the designated contact is provided permission to add new usersto the collaborative content product.
 12. An apparatus comprising: amemory; and a processing device communicably coupled to the memory, theprocessing device to execute instructions to: receive a request for afirst user to contribute a content item for a personalized message to asecond user, the personalized message for an event unique to the seconduser, wherein the first user is selected to receive the request tocontribute the content item based on an affinity score between the firstuser and the second user on a social network; present, via a graphicaluser interface (GUI) of the user device, the request to contribute thecontent item; receive, via the GUI, input from the first useridentifying the content item to contribute for the personalized messageto the second user; and identify a collaborative content productgenerated for the second user for the event, the collaborative contentproduct comprising a plurality of other content items of other users ofthe social network and ordered in the collaborative content product inaccordance with corresponding affinity scores between the second userand the other users; determine a position in the order for the contentitem amongst the other content items in the collaborative contentproduct, the position in the order determined in accordance withcorresponding affinity scores between the second user and the firstuser; and cause the content item to be added to the collaborativecontent product in accordance with the order.
 13. The apparatus of claim12, wherein the corresponding affinity scores between the second userand the other users are based on at least one of messaging frequency,co-occurrence in photographs, co-occurrence in videos, shared check-ins,shared contacts, shared subscriptions, or shared viewing statistics. 14.The apparatus of claim 12, wherein the collaborative content productcomprises a playlist.
 15. The apparatus of claim 12, wherein thecollaborative content product comprises a single video.
 16. Theapparatus of claim 15, wherein the processing device further to stitchcontent items for the collaborative content product together to generatethe single video.
 17. The apparatus of claim 15, wherein the contentitems are ordered in decreasing value of the affinity score of acorresponding contributing user of the other users with the second user.18. A non-transitory machine-readable storage medium storinginstructions which, when executed, cause a processing device to performoperations comprising: receiving, by the processing device of a userdevice of a first user, a request to contribute a content item for apersonalized message to a second user, the personalized message for anevent unique to the second user, wherein the first user is selected toreceive the request to contribute the content item based on an affinityscore between the first user and the second user on a social network;presenting, by the processing device via a graphical user interface(GUI) of the user device, the request to contribute the content item;receiving, by the processing device via the GUI, input from the firstuser identifying the content item to contribute for the personalizedmessage to the second user; and identifying a collaborative contentproduct generated for the second user for the event, the collaborativecontent product comprising a plurality of other content items of otherusers of the social network and ordered in the collaborative contentproduct in accordance with corresponding affinity scores between thesecond user and the other users; determining a position in the order forthe content item amongst the other content items in the collaborativecontent product, the position in the order determined in accordance withcorresponding affinity scores between the second user and the firstuser; and causing the content item to be added to the collaborativecontent product in accordance with the order.
 19. The non-transitorymachine-readable storage medium of claim 18, wherein the correspondingaffinity scores between the second user and the other users are based onat least one of messaging frequency, co-occurrence in photographs,co-occurrence in videos, shared check-ins, shared contacts, sharedsubscriptions, or shared viewing statistics.
 20. The non-transitorymachine-readable storage medium of claim 18, wherein the collaborativecontent product comprises a playlist.
 21. The non-transitorymachine-readable storage medium of claim 18, wherein the collaborativecontent product comprises a single video.
 22. The non-transitorymachine-readable storage medium of claim 18, further comprising settinga privacy setting of the collaborative message to a default of thesecond user and the other users.